package org.example.common.result;

import lombok.Data;
import java.util.List;

/**
 * 通用文件解析结果类（所有文件解析器的返回值类型）
 */
@Data  // Lombok注解，自动生成getter/setter
public class FileParseResult {
    // 表头（CSV的第一行，如 ["name", "age", "city"]；无表头则为null）
    private List<String> headers;

    // 数据行（每行数据用List<Object>存储，兼容字符串、数字等类型）
    // 例如：[[Alice, 25, New York], [Bob, 30, London]]
    private List<List<Object>> dataRows;

    // 解析成功标识
    private boolean success;

    // 错误信息（解析失败时非null，如"文件格式错误"）
    private String errorMessage;

    // 元数据：解析的总行数（含表头）
    private int totalRows;

    // 元数据：有效数据行数（不含表头和空行）
    private int validDataRows;
}